home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekikoh Dennoh Club 2
/
Gekikoh Dennoh Club Vol. 2 (Japan).7z
/
Gekikoh Dennoh Club Vol. 2 (Japan) (Track 01).bin
/
fsw
/
mcdrv
/
mcform.doc
< prev
next >
Wrap
Text File
|
1996-05-01
|
12KB
|
542 lines
───────────────────────────────
MCDRV
Music Creative driver for X68000
【 専用データフォーマットの解説 】
───────────────────────────────
written by CUL. (1995-02-06)
───────────────────────────────────────
MDCヘッダ構造
───────────────────────────────────────
MDC のヘッダは、基本的に 64 byte です。
オフセット計算の元になるベースポインタは、ヘッダ先頭のアドレスです。オフセッ
ト値が0の場合、未定義叉はデータエラーと見なします。
ofst size 内容
+00 4.b 'MDC'+$1a
+04 1.b $00 MDCバージョン (整数桁)
+05 1.b $08 〃 (小数桁)
+06 1.w ヘッダのサイズ
+08 1.l ファイルサイズ
+0c 1.l データ属性
+10 1.l シーケンスデータへのオフセット
+14 1.l タイトル部分へのオフセット
+18 1.l OPM音色/マクロ定義部分へのオフセット
+1c 1.l ADPCMファイル情報へのオフセット
+20 1.l MIDIデータへのオフセット
+24 1.l 演奏終了までの時間 (hw:分 lw:秒)
+28 1.l 総合クロックカウント
+2c 1.w 4分音符あたりのクロック数
+2e 1.w 初期テンポ (省略時120)
+未定 1.l データ作者/作曲者/編曲者情報へのオフセット
+未定 1.w 拍子
+00 'MDC'+$1a
MCDRV用のデータである事を表わします。
+04 $0005 整数桁,小数桁の MDC バージョンです。
この場合 v0.05 になります
+08 ファイルサイズです
+0c データ属性をビットマップで指定します。(未使用)
1 で ON/yes 、0 で OFF/no です
b00 OPM 使用
b01 ADPCM 使用
b02 MIDI 使用
b03 PCM8 使用
b04 SE データ
b05~31 予約
+10 シーケンスデータへのオフセットです。
(構造は後述しています)
+14 タイトルデータへのオフセットです。
構造は タイトル内容+$0d+$0a+$1a+$00 です。
($1a はなくても構いません)
複数行入れることも可能ですが、大抵の場合1行目が
タイトルとして扱われます。なるべく1行-80文字以下
程度でまとめて下さい。
+18 OPM音色/マクロ定義部分へのオフセットです。
(構造は後述しています)
+1c ADPCMファイル名が入っています。
FILENAME,0
───────────────────────────────────────
シーケンス用データへのポインタの構造
───────────────────────────────────────
オフセット計算の元になるベースアドレスは、このポインタの先頭アドレスです。
ofst size
+00 1.w 使用トラック数.w (例) $10 -> 16トラックを使用
+02 8.b トラック情報
: ×使用トラック数
トラック情報
+00 1.l トラックデータへのオフセット
+04 1.b 使用トラック番号
+05 1.b 初期使用チャンネル番号
$00~$07 OPM
$10~$1f ADPCM
$80~$ff MIDI
+06 1.w 拡張用予約
───────────────────────────────────────
MDCシーケンスコマンド
───────────────────────────────────────
※サイズの指定が無い場合、バイトサイズとします。
※[name]v は可変長データであることを表わします。
※オフセット値はコマンドの次のアドレスがベースアドレスです。
※一部未実装命令が存在します
(作者に催促しましょう ^^;)
「・」・・・機能搭載済み 「※」・・・予定機能
=================================
通常音符
=================================
・音符 ($00~$7F)
[NOTE] + [MODE] + [STEP]v + [GATE]v
MODE = 0 ・・・ デフォルトの VELOCITY値を割り当てる
1~127 ・・・ VELOCITY値
128~255 ・・・ STEP (0~127)
MODE が STEP 値を示すときは、後ろの STEP/GATE は省略され、
STEP=GATE になります。VELOCITY はデフォルトの値が割り当て
らてます。
=================================
8n系
=================================
・休符
[$80] + [STEP]v
・音符
[$81] + [NOTE] + [STEP]v
・タイ(スラー)
[$86]
・リピート開始
[$88] + [リピート回数] + [$00]
・リピート終端
[$89] + [開始コマンドへのオフセット]w
・リピート抜け出し
[$8A] + [終端コマンドへのオフセット]w
・リピート回数指定付抜け出し
[$8B] + [回数] + [飛び先へのオフセット]w
指定回数でなければ、データをスキップします。
スキップ長はリピート終端か、次のリピート抜け出しコマンド
等へのオフセットと考えてもらっても構いません。
MDC フォーマットでは、下の様に1つのリピート開始には必ず
1つのリピート終端が存在していなければなりません。
MML [ cde /1 efg /2 fga /3 gab ]3
[~A~/~B~/~C~/~D~]
・OPMDRV系 [~] コマンド
[$8C] + [コマンド番号] ( + [DATA]? )
番号 内容 データ
0 [D.C.] 飛び先へのオフセット.w
1 [D.S.] 飛び先へのオフセット.w
2 [TOCODA][*] 飛び先へのオフセット.w
3 [SEGNO][$] なし
4 [CODA] なし
5 [FINE][^] なし
6~ 予約
できる限りこのコマンドは使わないで下さい。
他フォーマットへの変換が困難になります。
・ジャンプ
[$8D] + [ジャンプ先へのオフセット]w
・小節終わり
[$8E]
・セームメジャー
[$8F] + [ジャンプ先へのオフセット]w
=================================
9n系 (未定義)
=================================
$90~$9F 予約
=================================
An系 (全て2バイト)
=================================
・ベロシティ設定
[$A0] + [設定値]
設定値 $00~$7F 128段階指定
$80~$8F 16 段階指定
・相対ベロシティ設定
[$A1] + [相対値(-127~127)]
・ボリューム(エクスプレッション)設定
[$A2] + [設定値]
設定値 $00~$7F 128段階指定
$80~$8F 16 段階指定
・相対ボリューム(エクスプレッション)設定
[$A3] + [相対値(-127~127)]
・トラックボリューム設定
[$A4] + [設定値]
設定値 $00~$7F 128段階指定
$80~$8F 16 段階指定
・相対トラックボリューム設定
[$A5] + [相対値(-127~127)]
・パンポット設定
[$A6] + [設定値]
設定値 $00~$7F 128段階指定
$80~$8F 16 段階指定
$F0 出力オフ
$F1 左
$F2 右
$F3 真中
・相対パンポット設定
[$A7] + [相対値(-127~127)]
・トラック単位キートランスポーズ設定
[$A8] + [設定値(-127~127)]
※トラック単位相対キートランスポーズ設定
[$A9] + [相対値(-127~127)]
・ベンドレンジ設定
[$AA] + [設定値]
設定値 $01~$80 -> 1~128
※相対ベンドレンジ設定
[$AB] + [相対値(-128~127)]
・デチューン設定 (半音=64)
[$AC] + [設定値(-128~127)]
※相対デチューン設定 (半音=64)
[$AD] + [相対値(-128~127)]
・クオンタイズ設定
[$AE] + [設定値]
設定値 $00~$08 q
$FF~$80 @q1~@q128
※相対クオンタイズ設定
[$AF] + [相対値(-127~127)]
=================================
Bn系
=================================
・チューン設定 (半音=64)
[$B0] + [設定値(-8192~8191)]w
※相対チューン設定 (半音=64)
[$B1] + [相対値(-16384~16383)]w
・ベンド設定
[$B2] + [設定値(-8192~8191)]w
※相対ベンド設定
[$B3] + [相対値(-16384~16383)]w
・ポルタメント
[$B8] + [目的値(-8192~8191)]w + [STEP]v
※フルタイムポルタメント
[$B9] + [STEP]v
・モジュレーションコントロール
[$BA] + [初期値(0~127)] + [目的値(0~127)] + [STEP]v
・モジュレーションコントロールディレイ
[$BB] + [DLY]v
・モジュレーションコントロール動作設定
[$BC] + [設定値]
設定値 $00~$7F モジュレーションを設定する
$80 動作停止
$81 動作開始
※トラックフェーダー
[$BE] + [振幅(-127~127)] + [STEP]v
=================================
Cn系 (LFO)
=================================
・ピッチLFO波形設定
[$C0] + [波形番号]
波形番号 $00 鋸波 ////
$01 矩形波  ̄_ ̄_
$02 三角波 /\/\
$03 ランダム波 * noiz *
$40 ユーザー登録波形
$80 ピッチLFOオフ
$81 ピッチLFOオン
・ピッチLFOスピード設定
[$C1] + [SPD]v
・ピッチLFO振幅設定
[$C2] + [振幅(-8192~8191)]w
※ピッチLFO相対振幅設定
[$C3] + [相対値(-16384~16383)]w
・ピッチLFOディレイ設定
[$C4] + [DLY]v
・音量LFO波形設定
[$C5] + [波形番号]
波形番号 $00 鋸波 ////
$01 矩形波  ̄_ ̄_
$02 三角波 /\/\
$03 ランダム波 * noiz *
$40 ユーザー登録波形
$80 音量LFOオフ
$81 音量LFOオン
・音量LFOスピード設定
[$C6] + [SPD]v
・音量LFO振幅設定
[$C7] + [振幅(-127~127)]
※音量LFO相対振幅設定
[$C8] + [相対値(-127~127)]
・音量LFOディレイ設定
[$C9] + [DLY]v
※各種コントロール用LFO波形設定
[$CA] + [波形番号]
波形番号 $00 鋸波 ////
$01 矩形波  ̄_ ̄_
$02 三角波 /\/\
$03 ランダム波 * noiz *
$40 ユーザー登録波形
$80 各種コントロール用LFOオフ
$81 各種コントロール用LFOオン
※各種コントロール用LFO波長変調設定
[$CB] + [波長]v
※各種コントロール用LFO振幅設定
[$CC] + [振幅(-127~127)]
※各種コントロール用LFO相対振幅設定
[$CD] + [相対値(-127~127)]
※各種コントロール用LFOディレイ設定
[$CE] + [DLY]v
※LFO拡張用 (予約)
[$CF] + [MODE] + [DATA] ・・・
=================================
Dn系 (特殊処理)
=================================
$D0~$DF 予約
=================================
En系 (各種コントロール)
=================================
・プログラムチェンジ
[$E0] + [PROG]
番号 $00~$7F BANK0-PROGRAM0~127
$80~$FF BANK1-PROGRAM0~127
以上のように扱います。
※バンク&プログラムチェンジ
[$E1] + [BANK] + [PROG]
・操作デバイス変更
[$E2] + [デバイス番号]
番号 $00~$07 OPM
$10~$1F ADPCM
$80~$AF MIDI
※条件設定
[$E3] + [AND] + [OR]
※条件付コマンド実行
[$E4] + [AND] + [条件] + [SIZE]v
・ADPCM再生周波数設定
[$E5] + [周波数番号]
番号 0:3.9KHz
1:5.2KHz
2:7.8KHz
3:10.4KHz
4:15.6KHz
以下は PCM8 などで使用可能
5:16bit PCM 6:8bit PCM
・OPMホワイトノイズ設定 (OPMレジスタ$0f)
[$E6] + [設定値]
・OPMハードLFO設定
[$E7] + [WF/SYNC] + [SPD] + [PMD] + [AMD] + [PMS/AMS]
WF bit6 シンクロ ON/OFF
WF $80 HARD LFO OFF
$81 HARD LFO ON
WF 以後のパラメーターは省略される
・OPMレジスタ設定
[$E8] + [レジスタ番号] + [データ]
※ポリフォニックキープレッシャ
[$EA] + [NOTE] + [プレッシャデータ]
※チャンネルキープレッシャ
[$EB] + [プレッシャデータ]
・コントロールチェンジ
[$EC] + [コントロール番号] + [設定値]
・トラックバリエーション
[$EF] + [種類]
種類 b0 0=ミュージックトラック
1=ドラムトラック
b6 1=ミュートトラック
b7 使用禁止
=================================
Fn系 (システムコントロール)
=================================
・テンポ設定
[$F0] + [設定値]w
※テンポ相対設定
[$F1] + [相対値]w
※テンポ(割り込み間隔)設定
[$F2] + [設定値]v
※テンポ(割り込み間隔)相対設定
[$F3] + [相対値]l
・同期信号送信
[$F4] + [トラック番号]
・同期信号受信待機
[$F5]
・総合キートランスポーズ
[$F6] + [設定値(-127~127)]
※総合相対キートランスポーズ
[$F7] + [相対値(-127~127)]
・MIDIデータ送信
[$FA] + [SIZE]v + [DATA]*n
・コメント
[$FC] + [SIZE]v + [VAL] + [STR]*n + [$00]
VAL $20 通常のコメント
・全トラックフェード処理
[$FD] + [STEP]v
STEP フェード終了までのクロック
・データエンド/永久ループ
[$FE] + [ループポイントまでのオフセット]w
[$FE] + $00 + $00
・永久ループポイントマーク
[$FF]
MCDRV ではなにも処理しません。アプリ専用のマークです。
───────────────────────────────────────
MDC-OPM音色定義
───────────────────────────────────────
MCDRV の OPM 音色定義は 128 バンク 128 音色、合計 16384 音色を登録できるよう
になっています。以下はその構造です。
OPM音色/マクロ定義部
ofst
+00.l 総データサイズ
+04.w 総登録音色数
+06 データ
:
データ内容
ofst
+00.w この音色の総データサイズ (これ自身を含む)
+02.b バンク番号 (0~127)
+03.b 音色番号 (0~127)
+04.b FL&CON
+05.b SLOT MASK
+06.l DT1&MUL ×4 (op 1~4)
+0a.l TL 〃
+0e.l KS&AR 〃
+12.l AMS&D1R 〃
+16.l DT2&D2R 〃
+1a.l D1L&RR 〃
+1e.b $00 音色名定義 (未使用)
+1f.b $fe マクロ定義 (未使用)